package cn.kone.remote.api;

import cn.kone.remote.dto.param.LoginDto;
import cn.kone.remote.fallback.UaaFeignApiFallback;
import cn.kone.result.JSONResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.validation.Valid;
/**
 * 使用 @FeignClient 注解来标识这是一个 Feign 客户端接口，用于调用名为 "it-fccar-service-uaa" 的远程服务
 */
@FeignClient(name = "it-fccar-service-uaa",fallbackFactory = UaaFeignApiFallback.class)
public interface UaaFeignApi {

    // 使用 @RequestMapping 注解来指定远程服务的具体路径
    // 这里指定了 "/saveLogin"，意味着调用远程服务的 "/saveLogin" 接口
    @RequestMapping("/saveLogin")
    // 使用 @RequestBody 注解将方法参数转换为请求体
    // 使用 @Valid 注解进行参数校验，确保传入的 LoginDto 对象合法
    JSONResult saveLogin(@RequestBody @Valid LoginDto loginDto);

}
